This invention relates to switching fabrics used to switch data in computer networks and other data moving applications.
Crossbars are one type of switching fabric used to switch data between pluralities of devices. They can be thought of as a switch that has a plurality of vertical paths interconnected by switching elements to a plurality of horizontal paths in a manner that the switch elements can interconnect any one of the vertical paths to any one of the horizontal paths. Generally such crossbars are implemented with custom application specific integrated circuits (ASIC""s).
According to an aspect of the present invention, a switch fabric includes a network switch having a plurality of inputs and outputs and a distributed switching arrangement to provide a non-blocking switching fabric capability over a series of byte sliced buses.
According to an additional aspect of the present invention, a switch for coupling network devices to a network processor, includes a plurality of virtual queues and input segment logic coupled to at least one bus, said input segment logic to determine to which virtual queue incoming data should be sent to and output segment logic to select which new virtual queue should be connected to an output port.
According to an additional aspect of the present invention, a switch fabric includes a first plurality of data switches each having a plurality of input ports and a plurality of output ports the plurality of switches capable of switching any of its input ports to any of its output ports with the plurality of data switches having inputs coupled to a plurality of input buses so that a first byte of a first one of the input buses is coupled to a first one of the plurality of switches, and a succeeding byte of the first input bus is coupled to a succeeding one of the plurality of switches.
One or more of the following advantages may be provided by one or more aspects of the invention.
A high performance, scalable switching fabric is provided for scaling a rotary switch for a multitude of ports. The rotary switch uses virtual queuing providing the rotary switch controller (RSC) full crossbar capability, such that any of its input queues can couple to any of its output queues without blocking. The RSC permits dynamic configuration of additional ports. The RSC is a modular concept allowing a switch to grow from e.g., 32 ports to 64 ports to 128 ports using a passive backplane.